package icu.which.strongchild.model.vo;

import icu.which.strongchild.model.domain.User;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
public class UserVO implements Serializable {
    /**
     * id
     */
    private Long id;

    /**
     * 用户昵称
     */
    private String username;

    /**
     * 账号
     */
    private String userAccount;

    /**
     * 用户头像
     */
    private String avatarUrl;

    /**
     * 性别
     */
    private Integer gender;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 学校
     */
    private String school;

    /**
     * 电话
     */
    private String phone;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 状态 0 - 正常
     */
    private Integer userStatus;

    /**
     * 用户角色 0-儿童 1-家长 2-志愿者 3-管理员
     */
    private Integer userRole;

    /**
     * 标签 json 列表
     */
    private String tags;

    /**
     * 创建时间
     */
    private Date createTime;


    /**
     * 用户脱敏
     *
     * @param user
     * @return
     */
    public static UserVO getUserVO(User user){
        UserVO res = new UserVO();
        res.setId(user.getId());
        res.setUsername(user.getUsername());
        res.setUserAccount(user.getUserAccount());
        res.setAvatarUrl(user.getAvatarUrl());
        res.setGender(user.getGender());
        res.setAge(user.getAge());
        res.setSchool(user.getSchool());
        res.setPhone(user.getPhone());
        res.setEmail(user.getEmail());
        res.setUserStatus(user.getUserStatus());
        res.setUserRole(user.getUserRole());
        res.setTags(user.getTags());
        res.setCreateTime(user.getCreateTime());
        return res;
    }

    private static final long serialVersionUID = 1L;
}
